This is a step-by-step course to get you building cool Arduino projects even with no prior experience! This Arduino course is a compilation of 25 projects divided into 5 Modules that you can build by following clear step-by-step instructions with schematics and downloadable code. Click the figure below to check out the course.
There are different ways to program the ESP8266, but I'll only cover the method using the Arduino IDE. This is really easy for beginners, and it's a very familiar environment if you've used Arduino boards before. Just keep in mind that it's not limited to this option: there's also an official SDK available to program it in real C, this is very useful if you want to optimize your code or do some advanced tricks that aren't supported by the Arduino IDE. Another possibility is to flash it with a LUA interpreter, so you can upload and run LUA scripts. Or maybe you're more familiar with Python? Then you should check out the MicroPython firmware to interpret MicroPython scripts. I'm sure there's other languages available as well, so just do a quick Google search and write your code in the language of your choice
Robert Chin has a Bachelor of Science degree in computer engineering and is experienced in developing projects on the TI CC3200 SimpleLink, Android, Arduino, Raspberry Pi, and PC Windows platforms using C/C++, Java, Python, Unreal Script, DirectX, OpenGL, and OpenGL ES 2.0. He is the author of Home Security System DIY PRO Using Android and TI CC3200 SimpleLink, Home Security Systems DIY Using Android and Arduino, and Beginning Arduino ov7670 Camera Development. He is also the author of Beginning Android 3d Game Development and Beginning IOS 3d Unreal Games Development, both published by Apress, and was the technical reviewer for UDK Game Development, published by Course Technology CENGAGE Learning. Beginning Android 3d Game Development was licensed to Tsinghua University through Tsinghua University Press